package com.jn.erp.web.api.student.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jn.erp.web.api.course.entity.vo.DataTrendsVo;
import com.jn.erp.web.api.institution.entity.vo.EmployeeVo;
import com.jn.erp.web.api.student.entity.Student;
import com.jn.erp.web.api.student.entity.dto.EnrollmentStuDto;
import com.jn.erp.web.api.student.entity.dto.StudentRenewalDto;
import com.jn.erp.web.api.student.entity.vo.EnrollmentData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;
@Mapper
public interface StudentMapper extends BaseMapper<Student> {

    List<Student> getList(@Param("student") Student student);

    String selNum(@Param("employeeVo") EmployeeVo employeeVo);

    List<EnrollmentStuDto> enrollmentList(@Param("student") EnrollmentStuDto student);

    Student getStudent(@Param("student") Student student);

    Student applicationOne(@Param("student") Student student);

    EnrollmentStuDto totalAmount(@Param("student") EnrollmentStuDto student);

    List<Student> allStudent(@Param("student") Student student);

    List<Student> studentList(@Param("student") Student student);

    String selManageCount(@Param("employeeVo") EmployeeVo employeeVo);

    List<StudentRenewalDto> alertsList(StudentRenewalDto studentRenewalDto);


    Map countAcademicData(DataTrendsVo dataTrendsVo);

    List<Student> clueData(DataTrendsVo dataTrendsVo);

    EnrollmentData clueDataNum(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> rankingList(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> dataTrendsEChart(DataTrendsVo dataTrendsVo);

    List<Student> listSource();

    List<EnrollmentData> dataTrendsEChartDay(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> paidAmountList(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> paidAmountListDay(DataTrendsVo dataTrendsVo);

    EnrollmentData  selPaid(DataTrendsVo dataTrendsVo);

    EnrollmentData auditionData(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> clueTrendsEChartDay(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> auditionTrendsEChartDay(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> paidAmountListMonth(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> clueTrendsEChartMonth(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> auditionTrendsEChartMonth(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> payData(DataTrendsVo dataTrendsVo);

    //统计续费告警数量
    Long getUserIdAlertsCount(StudentRenewalDto studentRenewalDto);

    List<EnrollmentData> TeacherList(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> rankingMonthList(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> TeacherMonthList(DataTrendsVo dataTrendsVo);

    List<EnrollmentData> payDataMonth(DataTrendsVo dataTrendsVo);
}
